/*
date:20210401
key:1搞清楚第一个式子是正的，后面是负的，如果不做循环限制，从第二个式子开始+号那些最后其实是减的。
*/
class Solution {
public:
    int clumsy(int N) 
    {
        if(N==1)
        {
            return N;
        }
        int i;
        int re=0;

        queue<int>Q;
        queue<int>Q1;
        re=N;
        i=0;
        
        while(--N)
        {
            
            switch(i)
            {
                case 0:re*=N;break;
                case 1:re/=N;break;
                case 2:Q1.push(N);break;//加法单独处理
                case 3:Q.push(re);re=N;i=-1;break;//将i值为-1下面i++完才是0
            }
            
            i++;
            
        }
        //不管怎么样都是要push的，上面对最新的re总是没有push
        Q.push(re);
        //注意第一个要拿出来，因为是第一个-后面那些
        int final_re=Q.front();
        Q.pop();
        //对每个a*b/c的结果相减
        while(!Q.empty())
        {
            final_re-=Q.front();
            Q.pop();
        }
        //对每个+d单独加
        while(!Q1.empty())
        {
            final_re+=Q1.front();
            Q1.pop();
        }
        return final_re;
    }
};